package com.ccb.sc.common.modules.goods.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ccb.sc.common.entity.BaseEntity;
import com.ccb.sc.common.modules.goods.enums.GoodsStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 产品
 * </p>
 *
 * @author ken
 * @since 2020-09-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_goods")
public class Goods extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 产品名称
     */
    @TableField("name")
    private String name;

    /**
     * 产品简称
     */
    @TableField("short_name")
    private String shortName;

    /**
     * 推荐语
     */
    @TableField("recommended_words")
    private String recommendedWords;

    /**
     * 产品编码
     */
    @TableField("spu")
    private String spu;

    /**
     * 分类id
     */
    @TableField("category_id")
    private Long categoryId;

    /**
     * 品牌id
     */
    @TableField("brand_id")
    private Long brandId;

    /**
     * 图片
     */
    @TableField("picture")
    private String picture;

    /**
     * 属性
     */
    @TableField("attribute")
    private String attribute;

    /**
     * 市场价格
     */
    @TableField("market_price")
    private BigDecimal marketPrice;

    /**
     * 销售价格
     */
    @TableField("sale_price")
    private BigDecimal salePrice;

    /**
     * 兑换积分
     */
    @TableField("exchange_points")
    private Integer exchangePoints;

    /**
     * 销量
     */
    @TableField("sales")
    private Integer sales;

    /**
     * 运费
     */
    @TableField("freight")
    private BigDecimal freight;

    /**
     * 收藏数
     */
    @TableField("collects")
    private Integer collects;

    /**
     * 浏览数
     */
    @TableField("views")
    private Integer views;

    /**
     * 审核人
     */
    @TableField("audit_by")
    private String auditBy;

    /**
     * 最近上架时间
     */
    @TableField("last_onsale_time")
    private LocalDateTime lastOnsaleTime;

    /**
     * 状态 1草稿 2待审核 3审核未通过 4已上架
     */
    @TableField("status")
    private GoodsStatus status;

    /**
     * 是否删除
     */
    @TableField("deleted")
    private Boolean deleted;
}
